import axios from 'axios';

const headers = {'Content-Type': 'application/json'};

// 创建 Axios 实例
const axiosInstance = axios.create({
    // baseURL: baseURL, // 替换为你的 API 基础 URL
    timeout: 10000, // 请求超时时间
    headers: headers,
});

axiosInstance.interceptors.request.use(
    (config) => {
        // 在这里添加你的请求前逻辑，例如添加 token
        const token = localStorage.getItem('token');
        if (token) {
            config.headers.Authorization = `Bearer ${token}`;
        }
        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
);

axiosInstance.interceptors.response.use(
    (response) => {
        // 在这里处理响应数据
        return response.data;
    },
    (error) => {
        // 在这里处理响应错误
        console.error('API call error:', error);
        return Promise.reject(error);
    }
);

// 封装 GET 请求
const get = (url: string, params: any) => {
    return axiosInstance.get(url, {params});
};

// 封装 POST 请求
const post = (url: string, data: any) => {
    return axiosInstance.post(url, data);
};

export {get, post};
